package main

import "fmt"

func main() {
	x, y := 1, 2
	//传入指针地址，相当于传入对象在栈中的内存地址，类似new Obejct()返回的序列码
	//这里&X&y相当于传入两个指针对象
	swap(&x, &y)
	fmt.Println(x, y)

	//创建指针另一种方式
	str := new(string)
	*str = "ninja"
	fmt.Printf("str:%p , &str:%p\n", str, &str)

}

//参数为指针类型
func swap(a, b *int) {
	//指针值交换
	t := *a
	*a = *b
	*b = t
}
